6.21. Ncurses-5.9

El paquete Ncurses contiene librerías para el manejo del terminal independiente de pantallas de caracteres.

Tiempo aproximado de construcción: 0.6 SBU
Espacio requerido en disco: 40 MB

6.21.1. Instalación de Ncurses

Prepara Ncurses para su compilación:

./configure --prefix=/usr           \
            --mandir=/usr/share/man \
            --with-shared           \
            --without-debug         \
            --enable-pc-files       \
            --enable-widec

El significado de la opción de configure:

--enable-widec

Este parámetro hace que las bibliotecas de caracteres amplios (por ejemplo, libncursesw.so.5.9) se construyan en lugar de los normales (por ejemplo, libncurses.so.5.9). Estas librerías de caracter amplio son usables tanto en locales multibyte y tradicionales de 8-bits, mientras que las bibliotecas normales funcionan correctamente sólo en locales de 8 bits. Los caracteres amplios y bibliotecas normales son compatibles con fuente, pero no así con binarios.

--enable-pc-files

Esta opción genera e instala .pc files por pkg-config.

Compila el paquete:

make

Este paquete contiene un banco de pruebas, pero sólo se puede ejecutar después de que el paquete haya sido instalado. Las pruebas se encuentran en el directorio /test. Consulte el archivo README en ese directorio para obtener más detalles.

Instala el paquete:

make install

Mueve las bibliotecas compartidas al directorio lib/, donde se espera que residan:

mv -v /usr/lib/libncursesw.so.5* /lib

Debido a que las bibliotecas se han movido, un enlace simbólico apunta a un archivo que no existe. Recrearlo:

ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so

Muchas aplicaciones todavía esperan que el enlazador sea capaz de encontrar librerías Ncurses de caracteres no-amplios. Un truco consiste en vincular dichas aplicaciones con las bibliotecas de caracteres anchos a través de enlaces simbólicos y scripts de enlazado:

for lib in ncurses form panel menu ; do
    rm -vf                    /usr/lib/lib${lib}.so
    echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
    ln -sfv lib${lib}w.a      /usr/lib/lib${lib}.a
    ln -sfv ${lib}w.pc        /usr/lib/pkgconfig/${lib}.pc
done

ln -sfv libncurses++w.a /usr/lib/libncurses++.a

Por último, asegúrese de que las aplicaciones antiguas que buscan-lcurses en Espacio requerido en disco de generación siguen siendo edificable:

rm -vf                     /usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
ln -sfv libncurses.so      /usr/lib/libcurses.so
ln -sfv libncursesw.a      /usr/lib/libcursesw.a
ln -sfv libncurses.a       /usr/lib/libcurses.a

Si lo desea, instale la documentación Ncurses:

mkdir -v       /usr/share/doc/ncurses-5.9
cp -v -R doc/* /usr/share/doc/ncurses-5.9
[Note]

Nota

Las instrucciones anteriores no crean librerías Ncurses de amplio caracter pues ningún paquete compilado desde las fuentes enlazaría contra ellos en Espacio requerido en disco de ejecución. Si usted debe tener dichas librerías debido a alguna aplicación de sólo-binario o para ser compatible con LSB, construya el paquete de nuevo con los siguientes comandos:

make distclean
./configure --prefix=/usr    \
            --with-shared    \
            --without-normal \
            --without-debug  \
            --without-cxx-binding
make sources libs
cp -av lib/lib*.so.5* /usr/lib

6.21.2. Contenido de Ncurses

Programas instalados: captoinfo (link to tic), clear, infocmp, infotocap (link to tic), ncursesw5-config, reset (link to tset), tabs, tic, toe, tput, and tset
Librerías instaladas: libcursesw.{a,so} (symlink and linker script to libncursesw.{a,so}), libformw.{a,so}, libmenuw.{a,so}, libncurses++w.a, libncursesw.{a,so}, libpanelw.{a,so} and their non-wide-character counterparts without "w" in the library names.
Directorios instalados: /usr/share/tabset, /usr/share/terminfo, /usr/share/doc/ncurses-5.9

Breves Descripciones

captoinfo

Convierte una descripción de termcap en una descripción terminfo

clear

Limpia la pantalla, si es posible

infocmp

Compara o imprime descripciones terminfo

infotocap

Convierte una descripción terminfo en una descripción termcap

ncursesw5-config

Proporciona información de configuración para ncurses

reset

Reinicializa un terminal a sus valores por defecto

tabs

Borra y establece tabulación en un terminal

tic

La entradas de descripciones del compilador terminfo que traduce un fichero terminfo en formato fuente al formato binario requerido por las rutinas de la biblioteca ncurses. Los ficheros terminfo contienen información sobre las capacidades de un terminal

toe

Lista todos los tipos de terminal disponibles, dando el nombre primario y la descripción de cada una

tput

Hace que los valores de las capacidades del terminal dependiente estén disponibles para el shell; también se puede utilizar para inicializar o restablecer el terminal, o para reportar su nombre largo

tset

Se puede utilizar para inicializar terminales

libcurses

Un enlace a libncurses

libncurses

Contiene funciones para mostrar texto de formas complicadas en la pantalla del terminal; un buen ejemplo de la utilización de estas funciones es el menú que se muestra el proceso make menuconfig del núcleo

libform

Contienen funciones para implementar formularios

libmenu

Contienen funciones para implementar menús

libpanel

Contienen funciones para implementar paneles